<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 1.数组方法里面的push pop unshift shift的作用分别是什么，他们的返回值又是什么？
        //push:在数组的尾部加入一个元素,并返回原有length+1的长度。返回值：添加元素后数组的长度
        //pop:删除数组尾部第一个元素,并返回这个元素。返回值 被删除的数据
        //shift 删除并返回数组的第一个元素 返回值 被删除的数据
        //unshift 向数组的开头添加一个或更多元素，并返回新的长度。返回值 添加数据以后数组的长度

        // 2.移除数组 arr["西瓜","香蕉","菠萝"]中除西瓜外的所有元素，不要使用第二个数组
        // let arr = ["西瓜", "香蕉", "菠萝"]
        // arr.length = 1;
        // console.log(arr);
        // let arr=["西瓜","香蕉","菠萝"]
        // for(let i=0;i<arr.length;i++){
        //     if(arr[i]!="西瓜"){
        //         arr.splice(i)
        //     }
        // }
        // console.log(arr);



        // 3.移除数组 arr[1, 2, 3, 4, 2] 中的 2。不要直接修改数组 arr，结果返回新的数组
        // let res = [];
        // let arr1 = [1, 2, 3, 4, 2];
        // for (let i = 0; i < arr1.length; i++) {
        //     if (arr1[i] != 2) {
        //         res[res.length] = arr1[i]
        //         //newarr.push(arr[i])
        //     }
        // }
        // console.log(res);
        // console.log(arr1);

        // 4.定义一个函数,能在数组 arr[1, 2, 3, 4, 2] 的 "2"后面添加元素 "jack"。不要直接修改数组 arr，结果返回新的数组即调用函数后返回的结果为[1, 2,'jack',3, 4, 2,'jack']
        // var arr = [1,2,3,4,2];
            // function fn(arr){
            //     var res = [].concat(arr);
            //     for(var i = 0;i<res.length;i++){
            //         if (res[i]==2) {
            //             res.splice(i+1,0,'jack');
            //         }
            //     }
            //     return res;
            // }
            // console.log(two(arr))

            // function fn(arr,num,str){
            //     let res=[]
            //     for(let i=0;i<arr.length;i++){
            //         if(arr[i]==num){
            //             res.push(arr[i],str)
            //         }else{
            //             res.push(arr[i])
            //         }
            //     }
                
            //     return res
            // }
            // let arr3=fn(arr,2,"jack")
            // console.log(arr3);
        // 统计数组 var arr = ["a", "b", "c", "a", "b", "c", "a", "b", "c", "a", "b", "c"]; 中 每个字母出现的次数，以对象的形式返回。
         var arr2 = ["a", "b", "c", "a", "b", "c", "a", "b", "c", "a", "b", "c","d","d","d","d"]
        //  let a=0
        //  let b=0
        //  let c=0
        // let ppj={};
        // for(let i=0;i<arr2.length;i++){
        //     if(arr2[i]=="a"){
        //         a++
        //     }else if(arr2[i]=="b"){
        //         b++
        //     }else if(arr2[i]=="c"){
        //         c++
        //     }
        // }
        // ppj.a=a
        // ppj.b=b
        // ppj.c=c
        // console.log(ppj);

        let obj={}
        for(let i=0;i<arr2.length;i++){
            obj[arr2[i]]=(obj[arr2[i]]+1) ||1
        }
        console.log(obj);
    </script>
</body>

</html>